1. Field of the Invention
This invention generally relates to digital document processing and, more particularly, to a system and method for emulating the processing performance of one printer in a different printer.
2. Description of the Related Art
As printers have evolved, the print streams generated for one manufacturer's printers have become somewhat incompatible with the printers of other manufacturers. The basic data can be output because all printers use standard page description languages (PDLs), such as printer control language (PCL) or PostScript (PS). However, the manner of outputting the data, for example the finishing options, may vary from one printer to the next. These variances between manufactures have occurred for several reasons. First, all print manufacturers support a common set of basic PJL (printer job language) commands for controlling settings like number of copies and page size. However, as advanced or unique features have been added, manufacturers have created their own PJL command to call the new feature. Manufacturers implementing similar features in the same timeframe may deliberately or inadvertently choose different commands to call the features and, therefore, create incompatibilities.
Another major incompatibility is in the numbering scheme for paper trays. Copier manufacturers conventionally number the paper cassettes 1 through n, from top to bottom, and refer to the bypass tray by name. Printer manufacturers, on the other hand, conventionally refer to the bypass tray as tray 1, and the cassettes 2 through n, from top to bottom. As copier manufacturers have added print controllers and printing capabilities to their copiers, they have maintained their conventional numbering scheme, creating an incompatibility between copier-based devices and standalone printers.
In most general office environments, these incompatibilities do not create a problem because customers use vendor-supplied print drivers to generate print jobs. These print drivers provide user-friendly graphical selections for print settings and then convert the selections into the vendor-specific commands. However, many legacy and industry-specific software applications are written with print drivers built-in and hard-coded to specific printers. Customers using these applications, or those customers who wish to standardize their network around a single print driver, find it difficult to switch vendors, because their print jobs do not generate the same output on other vendors' devices. In addition, some customers use a driver to generate print-ready files, such as *.prn format files. PJL commands are contained in the print stream and can generate compatibility problems.
FIG. 1 is a drawing depicting a system that addresses a single aspect of the printer incompatibility problem (prior art). More specifically, the paper tray numbering issue is addressed, but incompletely solved, by creating a table in the printer that maps incoming tray requests to various assigned trays, see U.S. Pat. No. 6,027,268. For example, a printer may ship with the bypass labeled as tray 1, and the paper drawers labeled 2 through 4, from top to bottom. The invention permits a user to reprogram the printer to map incoming requests for tray 1 to the printer's tray 2, and so forth. However, this patent is not a complete solution to the problem, because it does not address other incompatibilities in the print job. Further, it incompletely solves the tray problem because all subsequent print jobs sent to the device use this new mapping. Alternately stated, the printer must be reprogrammed every time the print driver is changed. The patent does not solve the problem for environments that require multiple tray mappings, depending on how the job is generated. For example, the patent does not address an environment using both a legacy application and a vendor-supplied print driver.
It would be advantageous if a document could be rendered as the user intended, complete with the intended finishing options, regardless of the printer to which a print job is directed.
It would be advantageous if a printer could modify print commands in response to print driver source, to process a document as the user intended.